package com.project.mapper;

import com.project.bean.LogBean;
import com.project.bean.UserBean;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface IUserMapper {
    @Mapper
    /**
     * 登录   登录成功并记录登录日志
     * @param account 帐号
     * @param pwd 密码
     * @return userBean用户对象
     */
    @Insert("select * from t_user where u_account =#{account} and u_pwd=#{pwd}")
    public UserBean login(@Param("account")String account, @Param("pwd")String pwd);



    /** 先查询用户是否存在 ，如果存在 返回false不存在就添加用户
     * 添加用户
     * @param userBean 用户对象
     */
    @Insert("insert into t_user(u_account,u_pwd,u_grade,u_name)values(#{account},#{pwd},#{grade},#{name})")

    public void add(UserBean userBean);

    /**
     * 检测用户名是否存在 ，用户存在返回true 不存在返回false
     * @param
     * @return
     */
    @Select("select * from t_user where u_account=#{account} and u_pwd=#{pwd}")
    @ResultMap("userMap")
    public  UserBean checkName(UserBean userBean);

    /**
     * 按id删除用户
     * @param id 用户id
     */
    @Delete("delete from t_user where pk_userId=#{id}")
    public void del(int id);

    /** 先查询老数据
     * 按id修改用户权限
     * @param id 用户id
     * @param grade 权限等级
     */
    @Update("update t_user set u_grade=#{grade} where pk_userId=#{id}")
    public void update(@Param("id") int id,
                       @Param("grade")String grade);

    /**
     * 按照id查询用户
     * @param id
     * @return
     */
    @Select("select *from t_user where pk_userId=#{id}")
    @ResultMap("userMap")

    public  UserBean findById(int id);

    /**
     * 修改当前账号密码
     * 按照id修改密码

     */
    @Update("update t_user set u_pwd=#{pwd} where pk_userId=#{id}")
    public void updatePwd(@Param("id") int id ,
                          @Param("pwd")String pwd);

    /**
     * 模糊查询所有用户 如果为不限 返回所有
     * @param grade 权限等级
     * @return 用户集合
     */

    public List<UserBean> findByItem(String grade);
}
